草庐IT

Java Xpath 表达式

全部标签

PHP 正则表达式性能

我必须从字符串中取出一些数据。不幸的是,数据的格式非常不友好。我必须创建大约15个正则表达式放在单独的preg_replace中。值得一提的是,它们本身就有很多或(|)。我的问题是我最终应该做什么:将所有表达式合并为一个并使用|将它们分开或者让它们保持原样-在单独的preg_replace中?创建其他表达式以保持清晰度是非常糟糕的做法吗?我想也许我可以将一些表达组合成一个,但它们变得非常复杂并且不理解。例如我有:$itemFullName=preg_replace("@^\b(([a-zA-Z]{1,3})?[0-9]{1,2}(\.|\-|X)[0-9]{1,2}(\s|\.|\-)

php - 在 PHP 中,正则表达式从字符串中删除井号(如果存在)

在PHP中,我想从十六进制字符串中删除井号(#)如果它存在。我尝试了以下方法:$str="#F16AD3";//Matchthepoundsigninthebeginningif(preg_match("/^\#/",$str)){//Ifit'sthere,removeitpreg_replace('/^\#/','',$str);};print$str;但是没有用。它打印出#F16AD3如何仅在英镑存在时将其删除? 最佳答案 echoltrim('#F16AD3','#');http://php.net/manual/en/fu

php - 正则表达式模式仅匹配不包含空格的字符串 PHP

我想匹配变量中包含的单词/模式,但只匹配没有空格的单词。请提出建议。$var='look';$array=('look','greatlook','lookgreat','lookgreat','badlook','lookbad','look','look');匹配词:look,greatlook,lookgreat,badlook不匹配:看起来很棒,看起来很糟糕,看起来(尾随空格),(空格)看起来。下面函数的语法没问题,但它匹配所有内容$match=preg_grep("/$var/",$array);$match=preg_grep("/^$var/",$array);(matc

php - Symfony2 Controller 和模板表达式可以相对于 bundle 来写吗?

以下面的Controller/Action为例:publicfunctionindexAction(){return$this->render('TestBundle:TestController:index.html.twig');}我想这样写模板表达式(或任何它的名字):publicfunctionindexAction(){return$this->render('*:TestController:index.html.twig');}这样symfony就知道我正在这个包中寻找模板。必须为我想引用的每个模板/操作/存储库编写整个Owner+Bundle非常烦人。更重要的是,考虑到

php - 正则表达式、PHP 和邪恶的嵌套 (?R)

更新所以我仍然在搞乱这个,并且已经找到了标签的所有实例,尽管我宁愿只找到最深的堆叠实例,因为那样生活会更容易......无论如何这就是我得到../(({{)(?:(?=([^\/][^]*?))\3|(\/[\w])))([a-zA-Z0-9\$\'\"\s\#\%\^\&\!\.\_\+\=\-\\\*\(\)\]+?}})/是否有任何正则表达式大师可以给我一些指示或模仿我需要的正则表达式?这只会获得像这样结束的{{tag}}的最深堆栈实例{{//tag}}原创好的,所以我遇到了一个问题,我看到其他人也遇到过,但是采用了不同的方法..或者我认为..所以我很好奇是否还有其他人可以帮助我

php - 带属性的正则表达式

我想解析这种代码:{articlesmode="extrait"nb="3"}我正在使用这个正则表达式:@\{(articles)(?:(?:\s|\ )*(?:(\w+)="(\w+)"))*\}@但它不起作用,当我执行preg_match_all时,这是带有$matches参数的print_r的结果:Array([0]=>{articlesmode="extraits"nb="3"}[1]=>articles[2]=>nb[3]=>3)我认为最后一个*应该可以获取所有属性,而不仅仅是最后一个。您看到遗漏或不正确的地方了吗?提前致谢 最佳答案

php - URL 检测和 BB-Style 标签(正则表达式,前瞻问题)

所以我正在构建一个小型CMS,我想避免在内容编辑器中使用HTML。出于这个原因,我想检测文本中的原始URL以及支持类似BB的标签,以实现更好的自定义。www.example.com[linkhttp://www.example.com]Clickme[/link]不幸的是,我对正则表达式还很陌生,我似乎无法让它正常工作。我在字符串上运行两个正则表达式:第一个检测原始URL,第二个检测类似BB的URL。后者似乎工作得很好,但第一个会干扰,并且也会转换包含在标签中的URL。我从找到的一段代码开始here并做了一些补充。这是非标记URL的代码:/*don'tmatchURLspreceede

php - 正则表达式删除新行和空格

我创建了一个正则表达式来去除空格、制表符、换行等。(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+我的问题是它匹配了一些空格和一些新行,而不是全部。这是为什么?我试过:(^[\r\n]*|[\r\n]+)[\s\t+]*[\r\n]+但似乎还是不能匹配多个空格Regextesterdemo 最佳答案 我不太确定你想在这里实现什么。但是,如果您像您在问题中所说的那样,只需**您所要做的就是将\s替换为任何内容。参见regex101.(为清楚起见,替换为*)你的正则表达式的问题是(除了它过于复杂;)结尾的[\r\n]+需

php - 正则表达式:按特定顺序匹配字符串中至少 3 个字符

如何在给定的字符串中进行搜索,以便捕获每3个(或更多)有序字符的巧合?我用它在HTML搜索输入中应用一些条件限制...到目前为止我最好的尝试:/[deleted]{3,}/g我需要“del”、“ele”、“let”、“ete”或“ted”被捕获...但也有“dele”、“eted”甚至完整的“deleted>”。前面的正则表达式可以解决问题,但现在的问题是字符的顺序,因为它还捕获像“ltd”或“eded”这样的字符串,这些字符串不在orderwiththewordandshouldnot.有什么帮助吗?提前致谢。 最佳答案 好的,我

php - 正则表达式用引号匹配单词边界

这个问题在这里已经有了答案:Regex:Specify"spaceorstartofstring"and"spaceorendofstring"(4个答案)关闭4年前。我正在尝试匹配单词边界内的字符串。preg_match('/\bTORUKCirqueduSoleil\b/ims','Show:TORUKCirqueduSoleilwithLadyGaga',$matches);Output:TORUKCirqueduSoleil这很完美。但是当字符串中有引号时,它不会按预期工作。例如,preg_match('/\bTORUK"CirqueduSoleil"\b/ims','Show